WOSA/XFS (Windows Open Services Architecture for Extended Financial Services) is an emerging standard enabling financial institutions, whose branch and office solutions run on the Windows NT platform, to develop applications independent of vendor equipment.
FIG. 1 shows the standard WOSA model in solid lines. Using this model, an application 10 communicates hardware requests 12 to various hardware devices in an ATM 14 via a WOSA manager 20. The application issues transaction requests 12 which are hardware independent, and thus vendor independent. The requests are queued by the WOSA manager 20 which manages concurrent access to the ATM hardware 14 from any number of applications 10.
When a piece of hardware is installed on the ATM, it registers its controlling software, known as a service provider module (SPM) 30, with the WOSA manager by using, for example, the Windows registry. The WOSA manager 20 is thus able to relay a hardware request 12 to an appropriate SPM 30, using the Windows registry as a look-up table. The SPM 30 takes relayed hardware independent requests 16 from the WOSA manager and actuates the appropriate piece of hardware to process the requests. The results of a request can be returned to the application by an SPM 30 synchronously via the WOSA manager 20 or asynchronously directly to the application 10.
During development, it can be very difficult to debug a WOSA system, because at run-time a number of applications may be generating hardware requests and receiving responses either synchronously or asynchronously at any given time. Messages are transmitted via many routes at run-time and the operation of one application's requests and responses could interfere with those of another application.
It can also be desirable in an installed system to keep track of or log the operation of sensitive parts of a WOSA system. It may be desirable to track applications who are requesting access to a cash dispenser and the responses of the cash dispenser to those requests. Also, for example, keeping track of the number of bad card reads might indicate the card reader is coming to the end of its life or needs cleaning. Similarly, the number of uses of the printer can be tracked to determine when the printer ribbon needs to be replaced, as well as numerous other examples.
It is an object of the present invention to provide a filter module to solve these problems.